#include "RecastDump.h"
#ifdef __cplusplus
extern "C" {
#endif
void nav_duFileIO_Delete(duFileIO * c_this){
	if(c_this==0){
	    return;
	}
	delete c_this;
}

bool nav_duFileIO_isReading(duFileIO const * c_this){
	bool c_out = c_this->isReading();
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duFileIO_isWriting(duFileIO const * c_this){
	bool c_out = c_this->isWriting();
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duFileIO_read(duFileIO * c_this,void * ptr,size_t const size){
	void * c_arg_ptr=(void *)(void*)(ptr);
	size_t const c_arg_size=size;
	bool c_out = c_this->read(c_arg_ptr,c_arg_size);
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duFileIO_write(duFileIO * c_this,void const * ptr,size_t const size){
	void const * c_arg_ptr=(void const *)(void*)(ptr);
	size_t const c_arg_size=size;
	bool c_out = c_this->write(c_arg_ptr,c_arg_size);
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duDumpCompactHeightfield(rcCompactHeightfield * chf,duFileIO * io){
	rcCompactHeightfield& c_arg_chf=*(rcCompactHeightfield *)(chf);
	duFileIO * c_arg_io=(duFileIO *)(void*)(io);
	bool c_out = duDumpCompactHeightfield(c_arg_chf,c_arg_io);
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duDumpContourSet(rcContourSet * cset,duFileIO * io){
	rcContourSet& c_arg_cset=*(rcContourSet *)(cset);
	duFileIO * c_arg_io=(duFileIO *)(void*)(io);
	bool c_out = duDumpContourSet(c_arg_cset,c_arg_io);
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duDumpPolyMeshDetailToObj(rcPolyMeshDetail * dmesh,duFileIO * io){
	rcPolyMeshDetail& c_arg_dmesh=*(rcPolyMeshDetail *)(dmesh);
	duFileIO * c_arg_io=(duFileIO *)(void*)(io);
	bool c_out = duDumpPolyMeshDetailToObj(c_arg_dmesh,c_arg_io);
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duDumpPolyMeshToObj(rcPolyMesh * pmesh,duFileIO * io){
	rcPolyMesh& c_arg_pmesh=*(rcPolyMesh *)(pmesh);
	duFileIO * c_arg_io=(duFileIO *)(void*)(io);
	bool c_out = duDumpPolyMeshToObj(c_arg_pmesh,c_arg_io);
	bool wrap_out  = (c_out);
	return wrap_out;
}

void nav_duLogBuildTimes(rcContext * ctx,int totalTileUsec){
	rcContext& c_arg_ctx=*(rcContext *)(ctx);
	int c_arg_totalTileUsec=totalTileUsec;
	duLogBuildTimes(c_arg_ctx,c_arg_totalTileUsec);
}

bool nav_duReadCompactHeightfield(rcCompactHeightfield * chf,duFileIO * io){
	rcCompactHeightfield& c_arg_chf=*(rcCompactHeightfield *)(chf);
	duFileIO * c_arg_io=(duFileIO *)(void*)(io);
	bool c_out = duReadCompactHeightfield(c_arg_chf,c_arg_io);
	bool wrap_out  = (c_out);
	return wrap_out;
}

bool nav_duReadContourSet(rcContourSet * cset,duFileIO * io){
	rcContourSet& c_arg_cset=*(rcContourSet *)(cset);
	duFileIO * c_arg_io=(duFileIO *)(void*)(io);
	bool c_out = duReadContourSet(c_arg_cset,c_arg_io);
	bool wrap_out  = (c_out);
	return wrap_out;
}

#ifdef __cplusplus
}
#endif
